<?php
namespace Common\Model;
use Think\Model;
class MenuModel extends Model{
	private $_db = '';
	public function __construct()
	{
		$this->_db = M('menu');
	}
	// 执行插入
	public function insert($data = [])
	{
		if(!$data || !is_array($data)){
			return 0;
		}
		$res = $this->_db->add($data);
		return $res;
	}
	// 获取所有的信息
	public function getMenus($data,$page,$pageSize=10)
	{
		$data['status'] = ['neq',-1];
		$offset = ($page - 1) * $pageSize;
		$list = $this->_db->where($data)->order('listorder desc,menu_id desc')->limit($offset,$pageSize)->select();
		return $list;
	}
	// 分页操作
	public function getMenusCount($data = [])
	{
		$data['status'] = ['neq',-1];
		return $this->_db->where($data)->count();
	}
	// 根据ID查询单条信息
	public function find($id)
	{
		if(!$id || !is_numeric($id)){
			return null;
		}
		return $this->_db->where('menu_id='.$id)->find();
	}
	// 执行修改操作
	public function updateMenuById($id,$data)
	{
		if(!$id || !is_numeric($id)){
			throw_exception('ID不合法');
		}
		if(!$data || !is_array($data)){
			throw_exception('更新的数据不合法');
		}
		return $this->_db->where('menu_id='.$id)->save($data);
	}
	// 修改状态操作（删除操作）
	public function updateStatusById($id,$status)
	{
		if(!is_numeric($id) || !$id){
			throw_exception('ID不合法');
		}
		if(!is_numeric($status) || !$status){
			throw_exception('状态不合法');
		}
		$data['status'] = $status;
		return $this->_db->where('menu_id='.$id)->save($data);
	}
	// 更新排序操作
	public function updateMenuListorderById($id,$listorder)
	{
		if(!$id || !is_numeric($id)){
			throw_exception('ID不合法');
		}
		$data = [
			'listorder' => intval($listorder),
		];
		return $this->_db->where('menu_id='.$id)->save($data);
	}
	// 查询状态正常的所有操作
	public function getAdminMenus()
	{
		$data = [
			'status' => ['neq',-1],
			'type' => 1,
		];
		$res = $this->_db->where($data)->order('listorder desc,menu_id desc')->select();
		return $res;
	}
	// 获取状态为1类型为0的所有用户
	public function getBarMenus()
	{
		$data = [
			'status'=>1,
			'type'=>0,
		];
		$res = $this->_db->where($data)->order('listorder desc,menu_id desc')->select();
		return $res;
	}
}